package practice.aop.spring.pojo;

public class LoggingAdvice {
	// 대상 객체의 메서드 실행 이전에 적용할 기능 구현
	public void before() {
		System.out.println("메서드 실행 전 전처리 수행");
	}

	// 대상 객체의 메서드가 정상적으로 실행된 이후에 적용할 기능 구현
	public void afterReturning(Object ret) {
		System.out.println("메서드 실행 후 후처리 수행, 리턴값=" + ret);
	}

	// 대상 객체의 메서드가 예외를 발생시킨 경우에 적용할 기능 구현
	public void afterThrowing(Throwable ex) {
		System.out.println("메서드 실행 중 예외 발생, 예외=" + ex.getMessage());
	}

	// 예외 발생 여부와 관계없이 공통 기능 수행
	public void afterFinally() {
		System.out.println("메서드 실행 완료");
	}
}
